<?php 

class InterfaceHelper{
	
	
	
	public static function startForm($id,$listeLiee,$titreAjout,$titreModification, $onAjout =null, $onModification = null) {
		?>
			<form method="POST" id="<?php echo $id ?>" listeLiee="<?php echo $listeLiee ?>" titreAjout="<?php echo $titreAjout ?>" titreModification="<?php echo $titreModification ?>">
				<div id="titreFormulaire" class="titre_formulaire">
					
				</div>
				<div id="resultat">
	
				</div>
				<table>
		<?php 
	}
	
	/**
	 * Permet d'ajouter un textfield non visible, pour éviter d'avoir une validation auto par la touche 
	 * entrée quand un formulaire n'a qu'un seul champ
	 */
	public static function addInvisibleTextField(){
		?>
			<input type="text" id="invisibleTextField" style="display:none;"/>
		<?php
	}
	
	public static function addComboBoxEntite($suffixeChamp, $idForm, $libelle, $libelleBouton, $codeEntite, $recherche, $nomMethodeAjout,$nomMethodeGet, $nomMethodeDelete, $libelleListeVide){
		$idChamp = "champ_formulaire_combo_box_entite_$suffixeChamp";
		?>
			<tr>
			<td valign="top">
				<table height="100%">
					<tr height="30px">
						<td><?php echo $libelle ?></td>
					</tr>
					<tr>
						<td><br/></td>
					</tr>
				</table>
			</td>
			<td>
				<span id="<?php echo $idChamp ?>" nomMethodeAjout="<?php echo $nomMethodeAjout ?>" nomMethodeGet="<?php echo $nomMethodeGet ?>" nomMethodeDelete="<?php echo $nomMethodeDelete ?>" libelleListeVide="<?php echo $libelleListeVide ?>">
					<table >
					<tr ><td valign="top">
						<select id="combo_<?php echo $idChamp ?>" style="width:193px">
						</select>
						<input type="button" 
						value="<?php echo $libelleBouton ?>" 
						id="button_ajouter_<?php echo $idChamp ?>" 
						onclick="ajouterEntiteAListe('<?php echo $idForm ?>','<?php echo $recherche ?>', $('select#combo_<?php echo $idChamp ?> option:selected').val() ,'<?php echo $idChamp ?>');"/>
						<script type="text/javascript">
							remplirListeEntiteDispo('<?php echo $idChamp ?>', '<?php echo $recherche ?>');
						</script>
						</td></tr>
					<tr >
						<td>
							<div id="list_<?php echo $idChamp ?>">
								<?php echo $libelleListeVide ?>
							</div>
						</td>
					</tr>
					</table>
				</span>
			</td></tr>
		<?php
	}
	
	public static function addField($id, $libelle, $type, $arrayAttributs) {
		$attributs = "";
		foreach ($arrayAttributs as $nom =>$attribut) {
			$attributs = $attributs.$nom."=\"".$attribut."\" ";
		}
		
		if ($type == "textarea") {
			?>
				<tr><td><?php echo $libelle ?></td><td><textarea id="<?php echo $id ?>" <?php echo $attributs ?>></textarea></td></tr>
			<?php 
		} else {
			?>
				<tr><td><?php echo $libelle ?></td><td><input type="<?php echo $type ?>" id="<?php echo $id ?>" <?php echo $attributs ?>/></td></tr>
			<?php
		}
	}
	
	public static function startToolbar() {
		?>
			<tr><td></td>
				<td align="right">
		<?php 
	}
	
	public static function addBouton($id, $icone, $libelle, $onclick, $afficherLibelle=true) {
		$titre = $libelle;
		if ($afficherLibelle === false) {
			$libelle = "";
		} else {
			$libelle = "&nbsp;".$libelle;
		}
		
		?>
			<button type="button" id="<?php echo $id ?>"  onclick="<?php echo $onclick ?>"><img src="<?php echo $icone ?>" title="<?php echo $titre ?>" /><?php echo $libelle ?></button>
		<?php 
	}
	
	public static function addBoutonValiderForm($idForm) {
		self::addBouton("bouton_formulaire_validation", "/icones/valider.png", "Valider", "valider('".$idForm."');");
	}
	
	public static function addBoutonAnnulerForm($idForm) {
		self::addBouton("bouton_formulaire_annulation", "/icones/annuler.png", "Annuler", "annuler('".$idForm."');");
	}
	
	public static function addBoutonModifierElement($idForm, $idElement) {
		self::addBouton("bouton_formulaire_modification_".$idElement, "/icones/modifier.png", "Modifier", "changerMode('$idForm', 'modeModification', '$idElement');", false);
	}
	
	public static function addBoutonSupprimerElement($idForm, $idElement, $presentation) {
		self::addBouton("bouton_formulaire_suppression_".$idElement, "/icones/supprimer.png", "Supprimer", "supprimer('$idForm', '$idElement', '$presentation');", false);
	}
	
	public static function addToolbarAnnulerValiderForm($idForm) {
		self::startToolbar();
		self::addBoutonValiderForm($idForm);
		self::addBoutonAnnulerForm($idForm);
		self::endToolbar();
	}
	
	public static function endToolbar() {
		echo "</td></tr>";
	}
	
	public static function endForm() {
		echo "</table></form>";
	}
}
?>